import log4js from "logger"; import { oauthManager } from '#server/service/oauth/oauth-manager'; import { createAuthContext } from '#server/service/auth/context'; const logger = log4js.getLogger("OAUTH"); export default defineWrappedResponseHandler(async (event) => { const { getCurrent } = createAuthContext(event); const user = await getCurrent(); const providerName = getRouterParam(event, 'provider'); if (!providerName) { logger.warn(`[authorize] Missing provider param`); throw createError({ statusCode: 400, statusMessage: 'Provider is required', }); } const userId = user?.id; logger.info(`[authorize] Generating auth URL: provider=${providerName}, userId=${userId ?? 'anonymous'}, isBinding=${!!userId}`); const authUrl = oauthManager.getAuthorizationUrl(providerName, userId); return sendRedirect(event, authUrl); });